#pragma once

typedef struct DateStruct
{
	int year;
	int month;
	int day;
}DATESTRUCT;

typedef struct enter_record{
	wchar_t			Memo[64];
	int				QuantityOfItem;
	DATESTRUCT		EnterDay;
}ENTER_RECORD_PACKET;

typedef struct StaffLoginStruct{
	wchar_t id[16];
	wchar_t pw[32];
}STAFF_LOGIN;

typedef struct SalaryForPacket
{
	wchar_t id[16];

	int		basicSalary;
	int		additionalSalary;
	int		bonus;
	int		etc;

	int		incomeTax;
	int		residenceTax;
	int		insurance;
	
	DATESTRUCT SalaryDate;
} SALARY_PACKET;

typedef struct IdSet
{
	wchar_t id[16];
	DATESTRUCT SalaryDate;
} SALARY_ID;

typedef struct StaffStruct
{
	wchar_t		 idNumber[16];
	wchar_t		 name[10];
	wchar_t	     address[128];
	wchar_t	     personalID[30];
	wchar_t		 phoneNo[30];
	wchar_t		 password[30];
	DATESTRUCT	 birthDay;
	DATESTRUCT	 EnterDay;
	BOOL		 gender;
	int			 position;
	int			 department;
	int			 salary;
	int			 remainOff;
	int			 absentDay;
	int			 age;
}STAFFSTRUCT;

typedef struct AttendStruct
{
	wchar_t id[16];
	int absentDay;
	int lateDay;
	DATESTRUCT absentDayList[20];
	DATESTRUCT lateDayList[20];

}ATTENDSTRUCT;
typedef struct StaffSearchStruct
{
	int idForwardFrom;
	int idForwardTo;
	int idBackwardFrom;
	int idBackwardTo;
	int Gender;
	DATESTRUCT birthdayFrom;
	DATESTRUCT birthdayTo;
	DATESTRUCT enterdayFrom;
	DATESTRUCT enterdayTo;
	int Position;
	int department;
	int remainOffFrom;
	int remainOffTo;
	int salaryFrom;
	int salaryTo;
	int ageFrom;
	int ageTo;
}STAFFSEARCHSTRUCT;

typedef struct RevenueStruct
{
	int		AcountType;
	int 	AmountOfMoney;
	wchar_t	Memo[128];
	wchar_t Name[10];
	DATESTRUCT TransActionDate;
}REVENUESTRUCT;

typedef struct StockStruct
{
	wchar_t itemCode[20];
	wchar_t itemName[15];
	int priceWithoutOff;
	int priceWithOff;
	int numberOfItem;
	int discountRate;
	int itemCategory;
	BOOL IsDiscounted;
	DATESTRUCT discountPeriodFrom;
	DATESTRUCT discountPeriodTo;
}STOCKSTRUCT;
typedef struct EnterStruct
{
	wchar_t		ItemCode[20];
	wchar_t		ItemName[16];
	wchar_t		Memo[64];
	int			Price;
	int			NumberOfItem;
	int			CategoryOfItem;
	DATESTRUCT	EnterDay;
}ENTERSTRUCT;
typedef struct RecordStruct
{
	wchar_t ItemCode[20];
	ENTER_RECORD_PACKET recordList[30];
}RECORDSTRUCT;
typedef struct StockSearch
{
	wchar_t itemCodeFrom[20];
	wchar_t itemCodeTo[20];
	wchar_t itemName[16];
	int priceWithoutOffFrom;
	int	priceWithoutOffTo;
	int priceWithOffFrom;
	int priceWithOffTo;
	int numberOfItemFrom;
	int numberOfItemTo;
	int discountRateFrom;
	int discountRateTo;
	int itemCategory;
	int IsDiscounted;
	DATESTRUCT discountPeriodFrom;
	DATESTRUCT discountPeriodTo;
}STOCKSEARCH;